package main

import "context"

type dd interface {
	Persist(context context.Context, msg interface{}) bool
	PersistOnSensitive(context context.Context, session_type, level, SensitiveStatus int32, msg interface{}) bool
}

//  定义一个类型， 用来出现 interface 的接口
type msgModelImpl struct{}

// 定义一个变量，MsgModelImpl 等于 msgModelImpl， 相当于可以通过 MsgModelImpl 来调用 msgModelImpl 的实现
var MsgModelImpl = msgModelImpl{}

func (m msgModelImpl) Persist(ctx context.Context, msgIface interface{}) bool {
	// coding ...
	return true
}

func (m msgModelImpl) UpdateDbContent(ctx context.Context, msgIface interface{}) bool {
	// codeing ...
	return true
}

type msgService struct {
	msgModel MsgModel
}

var MsgService = msgService{
	msgModel: MsgModelImpl,
}

func main() {

}
